A cluster is a cooperating, named set of networked nodes. Nodes can be servers or any other device that has the power to process data. Each node on this network is given a unique network address. Two or more of the nodes in this cluster have the capability of managing the other nodes in the cluster using the software enabled cluster management system (CMS), the basis of which is incorporated in the following present invention. The present invention provides the framework that allows a processing system to tolerate errors and component failures and still maintain a high level of availability to those other systems relying on the before mentioned processing system. The component errors and failures can occur either in the processing system hardware or in its software. In traditional fault tolerant systems there are usually redundant CPUs that are run in tandem with each other, mirroring each other's clocks and instructions. This limits the processing power of those CPUs since there are effectively duplicating the same work. However, in systems utilizing a cluster management system as herein described, the nodes are more loosely coupled and may be performing their own separate tasks until called upon to take over the duties of another node that may be experiencing difficulties. The advantage over the traditional fault tolerant systems is that the present invention gets more work done per processing resource. To achieve this goal it's necessary that there be a great deal of cooperation and coordination between the nodes given this responsibility. In other words the nodes, organized into a cluster, need to designate one node in the cluster as the manager of the cluster. In the preferred embodiment all the capable nodes in a given cluster are given this ability to manage other nodes. Nodes within the cluster are able to serve as substitutes for each other in the face of failure. Note that these nodes generally should not share a system resource that could bring the sharing nodes down if the said shared resource failed. The cluster management system (CMS) of this disclosure enables software developers to build applications that can duplicate key application data; this data may then be shared among the nodes in the cluster, thereby allowing the application to still run regardless of any particular node that is taken off the network. This duplicated data allows an application on node B to rapidly take over the functions of a failed application on Node A with minimum time delay and functionality impact.